package com.zb.vo;

import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;

import java.math.BigDecimal;
import java.util.Date;
import java.util.List;

/**
 * @Author WEN
 * @Date 2023/10/7 0007
 **/
@Data
@ApiModel("工单列表对象")
public class OrderListVo {
    @ApiModelProperty(value = "工单ID")
    private Long id;

    @ApiModelProperty(value = "工单单号")
    private String code;

    @ApiModelProperty(value = "报单时间")
    private Date createTime;

    @ApiModelProperty(value = "工单模块")
    private String module;

    @ApiModelProperty(value = "工单状态：1-待派单，2-待服务商确认，3-处理中，4-已完成，5-已作废")
    private Integer status;

    @ApiModelProperty(value = "报单商品")
    private String orderGoods;

    @ApiModelProperty(value = "报单商品数量")
    private Integer orderGoodsQty;

    @ApiModelProperty(value = "工单级别")
    private String workLevel;

    @ApiModelProperty(value = "工单级别颜色")
    private String workLevelColor;

    @ApiModelProperty(value = "工单总费用")
    private BigDecimal totalPrice;

    @ApiModelProperty(value = "服务商ID")
    private Long networkId;

    @ApiModelProperty(value = "服务区域")
    private String network;

    @ApiModelProperty(value = "工程师")
    private String engineer;

    @ApiModelProperty(value = "工程师手机号")
    private String enginnerPhone;

//    @ApiModelProperty(value = "预约日期")
//    private Date reservationDate;
    @ApiModelProperty(value = "预约日期")
    private String reservationDate;

    @ApiModelProperty(value = "预约开始时间")
    private Date reservationStartTime;

    @ApiModelProperty(value = "预约结束时间")
    private Date reservationEndTime;

    @ApiModelProperty(value = "总服务时长")
    private String totalServiceTime;

    @ApiModelProperty(value = "服务时长")
    private String serviceTime;

    @ApiModelProperty(value = "服务时长颜色")
    private String serviceTimeColor;

    @ApiModelProperty(value = "节点是否超时：false-未超时，true-已超时")
    private boolean nodeTimeout = Boolean.FALSE;

    @ApiModelProperty(value = "超时节点类型：2-未派单，3-服务商未接单，4-工程师未接单，5-工程师未拨打电话，6-工程师未预约，7-工程师未签到")
    private Integer nodeOverTimeType;

    @ApiModelProperty(value = "节点超时时间")
    private String nodeOverTime;

    @ApiModelProperty(value = "工单来源有：1-平台系统报单，2-扫码报单，3-小程序报单，4-APP报单，5-Excel导入报单，6-品牌商家建单")
    private Integer source;

    @ApiModelProperty(value = "商家备注")
    private String factoryRemark;

    @ApiModelProperty(value = "客服")
    private String emp;

    @ApiModelProperty(value = "更新时间")
    private Date updateTime;

    @ApiModelProperty(value = "客户姓名")
    private String userName;

    @ApiModelProperty(value = "客户手机号")
    private String userPhone;

    @ApiModelProperty(value = "地址-省")
    private String province;

    @ApiModelProperty(value = "地址-区")
    private String city;

    @ApiModelProperty(value = "地址-县/区")
    private String area;

    @ApiModelProperty(value = "地址-镇")
    private String town;

    @ApiModelProperty(value = "用户详细地址")
    private String address;

    @ApiModelProperty(value = "是否重单：false-未重单，true-已重单")
    private boolean repeatOrder;

    @ApiModelProperty(value = "是否有新进展：false-没有，true-有")
    private boolean newProgress;

    @ApiModelProperty(value = "是否催单：false-未催单，true-已催单")
    private boolean reminder;

    @ApiModelProperty(value = "催单数量")
    private Integer reminderCount;

    @ApiModelProperty(value = "归档时间")
    private Date archivedTime;

    @ApiModelProperty(value = "结算时间")
    private Date settlementTime;

    @ApiModelProperty(value = "工单完成时间")
    private Date orderFinishTime;

    @ApiModelProperty(value = "工单取消时间")
    private Date orderCancelTime;

    @ApiModelProperty(value = "商家名称")
    private String factory;

    @ApiModelProperty(value = "商家结算价")
    private BigDecimal factorySettlementPrice;

    @ApiModelProperty(value = "商家结算总价")
    private BigDecimal factorySettlementTotalPrice;

    @ApiModelProperty(value = "服务商结算价")
    private BigDecimal networkSettlementPrice;

    @ApiModelProperty(value = "服务商结算总价")
    private BigDecimal networkSettlementTotalPrice;

    @ApiModelProperty(value = "异常费用")
    private BigDecimal abnormalFee;

    @ApiModelProperty(value = "平台承担费用")
    private BigDecimal platformAssumeFee;

    @ApiModelProperty(value = "服务过程")
    private String serviceProcess;

    @ApiModelProperty(value = "工单自定义字段")
    private List<WorkListFieldShowVal> fieldVals;

    private String content;
    @ApiModelProperty("第三方推送状态")
    private String thirdPushState;
    @ApiModelProperty("第三方错误提示")
    private String thirdPushErrorMsg;
    @ApiModelProperty("推送到第三方的json数据")
    private String thirdStateFinishContentJson;
    @ApiModelProperty(value = "是否待核销")
    private Integer isHx;
    @ApiModelProperty(value = "是否暂挂")
    private Integer isPause;
    @ApiModelProperty(value = "是否退回单")
    private Integer isReturn;
    @ApiModelProperty(value = "快递公司：1.顺丰 2.圆通 3.中通 4.申通 5.韵达 6.京东 7.邮政 8.极兔 9.德邦 10.百世")
    private Integer expressCompany;
    @ApiModelProperty(value = "快递单号")
    private String expressNbr;
    @ApiModelProperty(value = "是否待核实：为1是待核实")
    private Integer isHs;
}
